package com.linxuan.reggie.entity;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单实体类，对应着数据库中的orders订单表，配置文件中已经开启了驼峰命名
 * 实现Serializable接口代表该类可以被序列化和反序列化，可以被持久化和网络传输。
 */
@Data
public class Orders implements Serializable {

    // Java的序列化机制通过在运行时判断类的serialVersionUID来验证版本一致性。
    private static final long serialVersionUID = 1L;

    // 主键ID
    private Long id;
    // 订单号/订单ID
    private String number;
    // 订单状态 1待付款，2待派送，3已派送，4已完成，5已取消
    private Integer status;
    // 下单用户id
    private Long userId;
    // 地址id
    private Long addressBookId;
    // 下单时间
    private LocalDateTime orderTime;
    // 结账时间
    private LocalDateTime checkoutTime;
    // 支付方式 1微信，2支付宝
    private Integer payMethod;
    // 实收金额
    private BigDecimal amount;
    // 备注
    private String remark;
    // 用户名
    private String userName;
    // 手机号
    private String phone;
    // 地址
    private String address;
    // 收货人
    private String consignee;
}
